/*
 * 文件名：AcceptController.java
 * 版权：Copyright by www.infopub.top
 * 描述：
 * 修改人：ZhangWenLiang
 * 修改时间：2020年3月19日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package top.infopub.mgr.sts.web;

import java.text.ParseException;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.pagehelper.Page;

import top.infopub.generic.GenericController;
import top.infopub.mgr.common.page.ParamPage;
import top.infopub.mgr.common.vo.RspVo;
import top.infopub.mgr.mkt.service.ProAcceptService;
import top.infopub.mgr.mkt.vo.ProAcceptVo;

/**
 * 业务承接统计
 * @author ZhangWenLiang
 * @version 2020年3月19日
 * @see AcceptCollectController
 * @since
 */
@Controller
@RequestMapping("/acceptCollect")
public class AcceptCollectController extends GenericController{

    @Autowired
    private ProAcceptService proAcceptService;
    
    /**
     * 列表页
     *
     * @return
     */
    @RequestMapping("/list")
    public String list(HttpServletRequest request) {
        return "sts/lay-acceptCollect-list";
    }
    
    /**
     * 根据条件获取获取列表数据
     * @param noticeDateStart 开始日期
     * @param noticeDateEnd 结束日期
     * @param sgCityName 市场区域
     * @param orgProName 项目名称
     * @param paramPage
     * @return 
     * @throws ParseException 
     * @see
     */
    @RequestMapping("/queryDataByCondition")
    public @ResponseBody RspVo<ProAcceptVo> queryDataByCondition(String noticeDateStart,String noticeDateEnd,
                                       String sgCityName,String orgProName,ParamPage paramPage)
        throws ParseException {
        if (StringUtils.isBlank(noticeDateStart) && StringUtils.isBlank(noticeDateEnd)) {
            return RspVo.getFailureResponse(-1, "请选择中标通知书日期~");
        }
        Page<ProAcceptVo> page = new Page<ProAcceptVo>();
        page.setPageNum(paramPage.getPage());
        page.setPageSize(paramPage.getLimit());
        Date dateStart = DateUtils.parseDate(noticeDateStart, "yyyy年MM月dd日");
        Date dateEnd = DateUtils.parseDate(noticeDateEnd, "yyyy年MM月dd日");
        
        page = proAcceptService.selectDataByWhere(dateStart, dateEnd, sgCityName, orgProName, page);
        return RspVo.getSuccessResponse(page.getTotal(), page.getResult());
    }
}
